基于机器视觉的手机扫码app在物流分拣线上的部署实践与系统稳定性报告
(华东区技改小组内部复盘 / 2023.12)
去年九月份,我们团队接手了华东地区一家中型电商仓储中心的技改项目。对方痛点很直接:原有分拣线用的固定式工业扫码器年久失修,替换一套新激光阵列报价接近七位数,而他们日常峰值单量也就每小时八千件左右。出于成本考虑,我们尝试了一条野路子——用安卓工业手机跑自研的机器视觉扫码App,直接架在分拣线关键节点上。这篇就当是一份脱敏后的部署实践与稳定性复盘,给同行少走点弯路。
现场环境比会议室里谈的要糟糕。分拣线总长六十多米,皮带速度调过两次,最终定在1.2米到1.8米每秒之间浮动。我们首批放了十二台联拓HT-7工业安卓终端,系统版本9.0,带物理防震框架。App这边没有用那些花哨的跨平台框架,直接原生Java掐着Camera2 API写,底层接了OpenCV 4.5做图像预处理,条码定位用改进过的ZBar分支。之所以不用纯云端识别,是怕园区网络抖动把延迟拉到两百毫秒以上,分拣员手动纠错反而更慢。所以模型量化后塞进手机,本地识别平均耗时控制在40ms内,结果通过内网MQTT直发WMS。
真正麻烦的是光照和包装。仓顶用的是老式高频LED,相机快门稍慢就出波纹。我们干脆禁了自动曝光,写死参数再配合ROI局部加权,算是稳了。还有塑料袋包裹,表面曲率让二维码反光像镜子,一开始误识率能到5%。后来在镜头前卡了块便宜的偏振片,配合动态跳帧策略——连续三帧模糊就跳到下一包裹——把反光漏识压到0.3%以下。
从去年9月10日上线到11月30日完整跑通91天,我让运维导了份日志。十二台设备合计触发扫描四百三十五万次出头。第一周识别率只有97.8%,主要是新员工摆放包裹角度刁钻;我们加了实时角度提示音和传送带边缘视觉辅助线,到第十周爬到99.3%。App层面,整个周期记录到ANR(应用无响应)三次,都是因为系统OTA推送时内存临时吃紧,看门狗脚本十秒内重启解决,没丢一单。温度方面,车间十月降温到白天12度、深夜5度,手机CMOS没见噪点暴涨;夏天我们没经历,但工业终端标称45度工作应该扛得住。供电是POE转USB常亮,没遇到电池鼓包,这比用消费级手机靠谱太多。
网络割裂测试做过两次。故意拔掉交换机网线十分钟,App本地Sqlite缓存了最多一万八千条识别记录,恢复后差分同步,WMS对账零误差。这点对小分拣中心很重要,很多老仓库内网跟屎一样,不能指望实时通畅。
双十一预演那天出过幺蛾子。瞬时包裹密度翻倍,皮带几乎贴着跑,App消息队列堆到阈值报警。我们连夜把处理函数从主线程挪到RenderScript,又把识别区从全幅改成动态截窗,吞吐量立马从每秒11件提到19件。这事说明,手机算力冗余比想象中小,算法剪枝不能手软。
复盘下来,基于机器视觉的手机扫码App在物流分拣线上绝非玩具。它适合柔性产线、低成本技改和峰值兜底。当然,你要说完全替掉百万级工业扫描仪,那不现实,毕竟手机镜头景深和抗震有物理上限。但作为报告结论,这套方案在八十万以内预算的项目里,稳定性已经经得起九十天考验。有类似场景的同行,欢迎私下交流日志。
微信号:18581869297